package com.yong.sbd.biz.mp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yong.sbd.biz.mp.entity.SysUser;
import com.yong.sbd.common.beans.page.PageParam;
import com.yong.sbd.common.beans.page.PageResult;

import java.util.List;

/**
 * 用户服务接口
 *
 * @author Kang Yong
 * @date 2025/10/27
 * @since 1.0.0
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 分页查询用户数据
     *
     * @param pageParam {@link PageParam}
     * @return {@link PageResult<SysUser>}
     */
    PageResult<SysUser> pageData(PageParam pageParam);

    /**
     * 根据用户ID查询用户及其角色信息
     *
     * @param userId 用户ID
     * @return {@link SysUser}
     */
    SysUser getUserWithRoles(Long userId);
    
    /**
     * 查询所有用户及其角色信息
     *
     * @return {@link List<SysUser>}
     */
    List<SysUser> getUsersWithRoles();

}